Customers may execute various components (e.g., program code, threads, or processes) in a service provider environment hosted by a service provider. The components may be launched within or uploaded to the service provider environment, and the components may be executed when triggered by an occurrence of a predefined event. The components may send, receive and/or delete messages from a message queue maintained by a messaging service.
The message queue may be a repository that stores messages for the components executing in the service provider environment. The message queue may store messages that are waiting to be processed by other components executing in the service provider environment. In addition, the messaging service may function as a broker that provides a software and/or hardware infrastructure to support the sending and receiving of messages between components executing in the service provider environment.
The messaging service may provide a reliable, fail-safe and scalable hosted message queue, and the implementation of the message queue may result in various advantages. For example, the message queue may be redundantly stored across multiple geographic regions in the service provider environment to increase robustness. The message queue may provide message storage when components are busy or unavailable. In addition, the message queue may enable multiple components to simultaneously send and/or receive messages.